#pragma once

#include "IRenderizable.h"
#include "Escalera.h"
#include "Columna.h"
#include "Losa.h"


class Piso : public IRenderizable {
public:
	Piso();

	virtual void init(const glm::vec3 &posFuenteLuzDireccional, std::string vertShaderFileName, std::string fragShaderFileName);
	virtual void setMaterial(const glm::vec3 &coefDifusion, const glm::vec3 &coefAmbiente, const glm::vec3 &coefEspecular);
	virtual void renderizar(const glm::mat4 &matVista, const glm::mat4 &matProyeccion, const glm::mat4 &matModelo) const;

	void rotarEscaleras(bool r) const;

private:
	// El mutable no fue una buena solucion, pero funciona
	mutable bool m_rotarEscalera;

	Losa m_losa;
	Columna m_columna;
	Escalera m_escalera;
};

